package com.navinfo.platform.common.service;

import org.apache.spark.sql.SparkSession;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/***
 * @author gx
 */
public interface IDataHandleService extends Serializable {
    /***
     *
     * @param obj Dataset or JavaRDD
     * @param configMap
     * @param spark
     */
     void handle(List<Object> obj, Map<String, String> configMap, SparkSession spark);

    /**
     * 按照接收类型转换类型
     * @param o
     * @param defaultValue
     * @param <T>
     * @return
     */
     @SuppressWarnings("unchecked")
     default <T> T castValue(Object o){
        return (T) o;
    }
}
